perm filename DOC[DOC,TOB]4 blob
sn#133257 filedate 1974-11-26 generic text, type T, neo UTF8
00005 COMPARE WITH MIT EVALUATION
00100 EVALUATION OF PDP-11 /40 VS NOVA 820 JUMBO
00200 MACHINE CODE MORE DIFFICULT
00300 NO PUSHDOWN INSTR ON NOVA
00400 SHORT ADDRESS HACK
00500 SELF-RELOCATABLE(RELATIVE TO PC) ON BOTH
00600 NO PUSHJ OR POPJ ON NOVA-SUBROUTINES THROUGH FIXED REGISTER
00700 MOST INSTR ARE REGISTER-REGISTER; REQUIRES ANOTHER INSTR
00800 I/O EASIER ON PDP-11
00900 DIRECT TO MEMORY ON THE UNIBUS
01000 STANDARD MACHINE DESIRABLE
01100 PDP-11 IS A REASONABLE CHOICE. OTHERWISE, IF NO STANDARD
01200 THEN WHEN IBM GETS IN THERE WILL BE A DE-FACTO STANDARD
01300 TO SOME EXTENT THE MACHINE DETERMINES STYLE OF PROGRAMMING
01400 AND I THINK WE NEED SOME COMPUTER SCIENCE INPUT INTO THE
01500 STANDARDIZATION
01600 HARDWARE/SOFTWARE COMPATIBILITY (AT MIT-AI)
01700
01800 OPTIONS FLOATING POINT, PAGING
01900
02000 CORE SIZE OF PROGRAMS
02100 WE WOULD EXPECT NOVA TO USE MORE CORE. NICK AND
02200 PAT FOUND ABOUT EQUAL, IF ANYTHING, SMALLER FOR THE
02300 NOVA. THAT DEPENDS ON TYPE OF PROGRAM I SUPPOSE.
02400
02500 COST OF MACHINE AND PERIPHERALS
02600 FOR EQUIVALENT MACHINES, THE NOVA IS ABOUT 50% LESS
02700 THAN THE PDP-11. FOR A JUMBO 820 WITH A DISK $14K
02800 AND FOR A PDP-11/40, ABOUT $20K.
02900
03000
00100 T. O. BINFORD
00200 RANGING AND EYE HARDWARE STUDIES
00300 REPRESENTATION OF SHAPE
00400 MULTI-ENTRY CODING
00500 COLOR LINE FINDING
00600 MONOCULAR RECOGNITION OF SHAPE
00700 SHAPE FROM STEREO DATA
00800
00900 G. J. AGIN STUDENT
01000 SHAPE DESCRIPTION AND RECOGNITION FROM DEPTH DATA
01100 R. K. NEVATIA STUDENT
01200 STEREO CORRELATION AND MOTION STEREO
01300 SHAPE DESCRIPTION AND RECOGNITION FROM DEPTH DATA
01400 R. BAJCSYOVA STUDENT
01500 TEXTURE BOUNDARIES AND TEXTURE DESCRIPTION IN FOURIER DOMAIN
01700
01705
01710
01715
01720
01725
01730
01735
01740
01745
01800
01900
02000
02100 J.A.FELDMAN
02150 SAIL AND HAND/EYE SYSTEM
02155 GRAMMATICAL INDUCTION
02160 BAYESIAN STRATEGIES
02200
02300 A. GILL STUDENT
02400 VISUAL FEEDBACK
02500 G. GRAPE STUDENT
02600 GENERATION OF LINE DRAWINGS
02700 S. GANAPATHY STUDENT
02800 LEARNING OF NEW OBJECTS IN COMPLEX
02900 Y. YAKIMOVSKY STUDENT
02905 LINE VERIFIER AS BAYESIAN EXAMPLE
03000
03100
00100 J. ZINGHEIM STAFF, TECHNICIAN
00200 K. K. PINGLE STAFF,HAND/EYE SYSTEM
00300 R. P. ORBAN STAFF,HAND/EYE SYSTEM
00400 LOU PAUL STAFF,STUDENT
00500 ARM SOFTWARE
00600 AVOIDANCE
00700 FORCE-CONTROLLED MOTIONS
00800 VIC SCHEINMAN STAFF ENGINEER: ARM DESIGN AND HARDWARE
00900
01000
01100
01200
01500 A. J. THOMAS STUDENT
01600 PSYCHOLOGY, STEREO USING JULESZ PATTERNS
00100 WHAT WE ARE DOING
00200
00300 FORCE SENSING AND FORCE-CONSTRAINED MOTIONS
00400 TOOL OPERATION
00500 SCHEINMAN AND PAUL
00600
00700 SHAPE DESCRIPTION AND RECOGNITION OF COMPLEX OBJECTS
00800 AGIN, NEVATIA, TOB
00900
01000 VISUAL FEEDBACK
01100 GILL
01200
01300 STUDY OF VISUAL HARDWARE
01400 RANGING AND EYES TOB
00100 IT IS USEFUL TO EXAMINE OPERATORS OF ALL SIZES IN A PICTURE.
00200 THE SIZE OF THE OPERATOR MATTERS ONLY FOR FACTORS OF TWO,
00300 SO THAT BY ALL SIZES, WE CAN AS WELL SAY SIZES WHICH ARE
00400 POWERS OF TWO. K SHIFTS AND ADDITIONS ARE ENOUGH TO
00500 SUM OVER AN INTERVAL 2↑K TO THE LEFT OF A POINT. 2K SHIFTS
00600 AND ADDITIONS ARE ENOUGH TO SUM OVER A SQUARE 2↑K ON A SIDE.
00700 MOREOVER, AS INTERMEDIATE STEPS, WE HAVE COMPUTED SUMS FOR
00800 ALL SQUARES 2↑H ON A SIDE, WHERE 0<H<K.
00805 BY UPDATING SUMS, WE CAN SUM OVER AN INTERVAL BY
00810 AN OPERATION WHICH IS INDEPENDENT OF THE SIZE OF THE
00815 SUPPORT SIZE. THE TIME FOR THIS OPERATION IS ABOUT
00820 50 MICROSECONDS PER POINT.
00900 WE CAN DIFFERENCE OR MULTIPLY SHIFTED IMAGES TO
01000 DO VARIOUS CORRELATION OPERATIONS, WHICH CAN BE SUMMED
01100 BY THAT SCHEME.
00005 PROGRESS WITH MANIPULATION
00010 THE NEW ARM BECAME OPERATIVE IN THE LAST FEW DAYS OF
00015 1970. BY THAT TIME, A SERVO ROUTINE WAS WORKING WHICH USED
00020 TRAJECTORY SERVO WITH A NEWTONIAN MODEL OF THE ARM. INSTEAD
00025 OF POINT BY POINT PROPORTIONAL SERVO, THIS CONTROL ROUTINE
00030 FOLLOWS SMOOTH PREPLANNED TRAJECTORIES, TAKING INTO ACCOUNT
00035 GRAVITY AND INERTIAL LOADING, EQUIVALENT TO VARYING SERVO
00040 CONSTANTS THROUGH WIDE RANGES.
00045 A TRAJECTORY PLANNING PROGRAM DESIGNS TRAJECTORIES
00050 WHICH ARE USEFUL FOR MANIPULATIONS, AND WHICH ALLOW SPECIFYING
00055 APPROACH AND DEPARTURE ANGLES. A USER PACKAGE
00100 PLANS FOR HANDS
00200
00300 SOFTWARE HARDWARE
00400
00500 USER PACKAGE
00600 INSTANT INSANITY
00700 NON-LINEAR CALIBATION
00800 AVOIDANCE
00900 TASKS WITH THREE OR MORE FINGERS
01000 PICK UP IRREGULAR OBJECTS
01100 TASKS W/ FORCE FEEDBACK JOINT FORCES
01200 PUT PIN IN HOLE MOTOR TORQUES
01300 TURN CRANK DIRECT SENSORS
01400 TASKS W/TOUCH FEEDBACK TOUCH SENSORS
01500 GROPING FINGERS
01600 SHAPE OF OBJECTS PERIPHERAL
01700 IRREGULAR OBJECTS
01800 TASKS W/ VISUAL FEEDBACK
01900 STACKING
02000 COORDINATION FOR GRASPING
02100 TASKS WITH VELOCITY CONTROL
02200 THROWING
02300 5 FINGER HAND
02400 WRIST WITH INCREMENTAL MOTION
02500
02600 THERE ARE A NUMBER OF PROBLEMS ASSOCIATED WITH THE INSTANT
02700 INSANITY TASK OF TURNING OVER OBJECTS. THE PRESENT SOLUTION
02800 PROCEDURE CHOOSES THE FIRST POSSIBLE SOLUTION, LARGELY BECAUSE
02900 OF TIME CONSTRAINTS. THE RESULTING SOLUTIONS TEND TO SPRAWL
03000 NEAR THE TABLE MORE THAN IS CONVENIENT FOR AVOIDANCE. IT IS
03100 CLEAR THAT FOR AVOIDANCE, WE WANT TO TEND TOWARD SOLUTIONS
03200 WITH THE ARM OPERATING FROM ABOVE. THE SIMPLEST FIX IS
03300 TO CHOOSE THE SOLUTION WHICH CAUSES APPROACH AND DEPARTURE
03400 ANGLES TO BE AS NEAR VERTICAL AS POSSIBLE. FOR TURNING OVER
03500 A CUBE, THIS MEANS APPROACHING AT -45 DEGREES AND DEPARTING
03600 AT +45 DEGREES. THOSE ANGLES ARE NOT ALWAYS POSSIBLE WITH
03700 THE ARM IN CERTAIN POSITIONS.
03800 IF WE TRIED ALL FOUR POSSIBILITIES FOR PICKING UP A BLOCK BY
03900 ITS FACES, WE MIGHT FIND MUCH BETTER SOLUTIONS FROM THE
04000 STANDPOINT OF VERTICALITY, YET WE CANNOT AFFORD 4 SEARCHES
04100 THROUGH LIMITS OF APPROACH AND DEPARTURE ANGLE. WE MIGHT INSTEAD
04200 SUGGEST THAT FOR THAT TASK, WE ARE ESSENTIALLY ORIENTING THE
04300 WRIST WITH RESPECT TO THE TABLE, AND FOR ORIENTING THE WRIST,
04400 THE WRIST ROTATIONS ARE RELEVANT. THEN WE WANT TO MOVE
04500 THE BLOCK TO AN ANGLE WHERE THE ROTATIONS ARE EASY, AND MAKE
04600 THE RIGHT WRIST ROTATIONS. BEYOND THAT, WE CAN THINK OF
04700 HAVING A MODEL OF THE ARM, AND PIECE TOGETHER TRAJECTORIES
04800 FROM THE NATURAL MOTIONS OF THE ARM. FOR THE TIME
04900 WHEN WE GET REDUNDANT DEGREES OF FREEDOM, THAT WILL BE
05000 MORE OR LESS NECESSARY. WITH AN ARM WHICH HAS ONLY THE CANONICAL
05100 SIX DEGREES OF FREEDOM, WE WOULD INVESTIGATE AN ARM MODEL
05200 AS A WAY OF FINDING NOT ONLY THE FIRST SOLUTION, BUT SOME
05300 GOOD SOLUTIONS AND PERMIT CUTTING COMPUTATION OF TRAJECTORIES
05400 SOME LONG RANGE HAND/EYE PROGRAMS
05500
05600 CURRENTLY, WE HAVE A GOOD PROGRAM IN MANIPULATORS.
05700 WE HAVE A STABLE, LOW COST ARM WITH A USER SOFTWARE PACKAGE.
05800 IN THE IMMEDIATE FUTURE, WE WILL BE DOING:
05900 AVOIDANCE OF OBJECTS
06000 TASKS REQUIRING JOINT FORCE SENSING
06100 TASKS REQUIRING TOUCH SENSING
06200 FOR THE LONG RANGE, THERE ARE SEVERAL THINGS THAT WE WOULD
06300 LIKE TO CONSIDER SERIOUSLY.
06400 1 SELF PROTECTION REQUIRES THAT THE ARM STRUCTURE
06500 HAVE LOW JOINT STIFFNESS. WITH A STIFF STRUCTURE,
06600 EVEN WITH TOUCH SENSING, THERE IS ONLY A FEW MILS
06700 TRAVEL IN WHICH TO STOP THE ARM BEFORE DAMAGE, SO
06800 THAT PROTECTION IS IMPOSSIBLE. WITH A COMPLIANT
06900 STRUCTURE, THERE MAY BE A HALF-INCH OR MORE OF
07000 TRAVEL AS THE STRUCTURE FOLDS, BEFORE DAMAGE. AS
07100 HANDS BECOME MORE COMPLICATED, THE RISK OF DAMAGE
07200 INCREASES.
07300 AT THE SAME TIME, JOINT FORCE SENSING BECOMES VERY
07400 EASY WITH COMPLIANT JOINTS.
07500 HOW TO MAKE LOW STIFFNESS ACTUATORS
07600 FOR ARMS
07700
07800 2 TOUCH SENSORS ARE VERY POORLY DEVELOPED. SENSITIVITY
07900 SPATIAL RESOLUTION, AREA COVERAGE FOR PERIPHERAL
08000 SENSORS AND MINITURIZATION OF ASSOCIATED ELECTRONICS
08100 AND MULTIPLEXORS ALL REQUIRE ABOUT AN ORDER OF MAGNITUDE
08200 IMPROVEMENT AS A FIRST TARGET.
08300 IMPROVED SENSORS WOULD ALSO BE VALUABLE FOR
08400 PROSTHETIC DEVICES FOR AMPUTEES.
08500
08600 WE SUGGEST THAT DR. KEN WISE IN DR. ANGELL'S LAB
08700 HAS INDICATED INTEREST IN THIS PROBLEM, AND
08800 THAT A RESEARCH EFFORT BE FUNDED THERE.
08900 BY LARGE AMOUNTS.
00100 SPECIFICATIONS FOR VISUAL DEVICES
00200
00300 TYPICAL TASKS AND SAMPLE SYSTEMS
00400 All of our tasks are to access some area of the frame
00500 and read a number of intensity values near that area. We
00600 distinguish area scan, edge following, or tracking according
00700 to the extremes of reading a large number of points near one
00800 position, or reading a small number of points at separate
00900 positions. For reading n by m points, access times and sample
01000 times determine the task reading time by:
01100 read time=access time+( n * sample time + line access)*m lines
01200 uUsing our PDP-10 computer, 10 microseconds is the minimal time
01300 for minimal processing per point, and 100 microseconds is a
01400 nominal time for complicated processing per point. Thus the
01500 sample time 100 usec to 10 usecs is adequate for our current
01600 usage, but will be obsolete as faster processors are available.
01700 If we choose the access time to be 100 per cent of small sample
01800 reading time, then assuming a sample of 30 points, access time
01900 of 3msec to 300 usec is indicated for tracking. That allows
02000 tracking at intervals of about 5 msec. Of course for area
02100 scans, larger access times are tolerable.
02200 The other design criteria are signal to noise,
02300 dynamic range, and spatial resolution over windows of the
02400 scene. These criteria are related by a condition on memory
02500 bandwidth. Fixed scan systems seem inadequate; flexible scan
02600 selection seems necessary for high resolution with reasonable
02700 grey levels, according to the memory bandwidth of the system.
02800 We now encode 7 samples of 4 bits each , in one microsecond,
02900 over a frame 230*327. We require more intensity information,
03000 presumably 7 bits. Since frame times are fixed, the highest
03100 resolution determines the sample rate. We can raise the
03200 current bit rate by a factor of 3 perhaps, which allows less
03300 than a factor of two increase in sampled points, or less than
03400 40 percent increase in resolution.
03500 Simply raising bandwidth does not seem the answer to
03600 improving signal/noise for commercial TV cameras. Noise is
03700 preamp bandwidth-limited.
03800 The specimen systems have hypothetical components
03900 somewhat related to real devices but intended to provoke
04000 specific discussion and alternative proposals. We distinguish
04100 between imaging sesors (eg vidicon) and imaging sources
04200 (eg laser spot).
04300
04400 1 Laser projection device with acousto-optical or digital
04500 deflection: This system would use a 500*500 two-dimensional
04600 deflection scheme. Using an acoustic device deflecting by
04700 Bragg diffraction, the access time of 100 microseconds
04800 with 400 spots over 10 milliradians is feasible. Use
04900 of an acoustic lens (Crumley) could enhance resolution.
05000 The system is essentially random-access. Average reading
05100 for 32/1 signal/noise would be 20 nanosec.
05200
05300 2 Laser projection with mechanical deflection:
05400 A two-dimensional galvanometer mechanical deflection system with
05500 a random-access time of 1 msec and 1000*1000 resolution is
05600 feasible.
05700
05800 3 Unkown low-noise scanning camera:
05900 Assume an unknown low-noise scanning camera which has a windowing
06000 facility, either a variable scan rate or a variable scan frame.
06100 This encounters "burn-inY problems which can be minimized by
06200 intermittent scanning, on demand. Charge stabilization may
06300 require initialization scans.
06400
06500 4 Semiconductor array in an image dissector or with
06600 a deflectable image intensifier:
06700 Linear arrays of photodetectors self-scanned by shift register
06800 are currently available in units of 48. Larger arrays are in
06900 development; a linear array of a few hundred detectors can be made
07000 by joining smaller arrays. Using magnetic deflection, the
07100 access times are about 10-100 usec and sample times are decrease
07200 by integration of the array in parallel.
07300
07400 5 Semiconductor arrays with mechanical deflection:
07500 Several hundred detectors in a small array, accessed with
07600 mechanical deflection with access times of 1 msec. As in
07700 4) above, if the sample time for a single detector is
07800 of the order of .3 msec for the required signal to noise,
07900 the effective sample time might be a factor of 20 less.
08000 Bandwidth would be about a factor of 20 smaller than in the
08100 current vidicon system.
08200
08300 PROPERTY CURRENT TARGET A TARGET B
08400 gray levels 16 linear 128 log 512 log
08500 dynamic range
08600 within scene 16/1 64/1 400/1
08700 overall 10,000 10,000 1,000,000
08800 signal/noise 1/1 to 32/1** 32/1 diI/I 64/1 dI/I
08900 access time 30 msec 1 msec 10 usec
09000 sample time 140 nsec 10-100 usec 1 usec
09100 band width 28Megabits/sec <56Megabits/sec <56Megabits/sec
09200 resolution 230*327 512*512 1000*1000
09300 300 lines 50%MTF
09400 sensitivity
09500 low light level 1 ft-c as required by as required by
09600 sample time,dynamic range,
09700 depth of field, signal/noise
09800 depth of field 30 cm at 1m 30cm at 1m 30cm at 1m
09900 color 3 color 3 color 3 color
10000 broad band broad band broad band
10100 3 filters 1sec color camera
10200 adaptation autotarget
10300
10400 *
10500 By subranging on successive frames, and averaging, 64 useful
10600 levels can be obtained with the present camera over the entire
10700 frame in 8sec.
10800 ** With a vidicon, noise is constant, independent of signal,
10900 hence signal/noise is proportional to signal. The other figures
11000 are quoted for signal/noise independent of signal.
11100
11200 Dynamic Range
11300 Overall scene illumination may vary by factors of
11400 order of 10↑6 to 1 for the cart, and by much smaller factors
11500 for the hand-eye tasks. Automatic target control, variable aperture
11600 variable integration time (image dissector), variable light
11700 source intensity are means of adaptation to overall scene illumination
11800 levels. Some means of overall adaptation must be provided; the
11900 accomodation can be quite slow; humans do well with accomodation times
12000 of minutes. With humans, aperture control accounts for only a factor
12100 of 10 in adaptation.
12200 Adaptation provides a wide dynamic range for a device
12300 with lower intrinsic dynamic range. The intrinsic dynamic range must include
12400 the product of object reflectance and illumination ranges. Object
12500 reflectances vary from about 0.98 to 0.04 for carbon black, a factor
12600 of about 20/1. Non-uniform illumination can produce equally large dynamic
12700 range factors; as an example, a point source illuminating an area
12800 1 foot sq at 3 feet would have a factor of 2/1 for inverse square
12900 radius and 30/1 for the cosine dependence.
13000 Diffuse illumination could lower this dynamic range considerably, but
13100 specular reflections are hard to avoid. To estimate
13200 the effects of specular reflection, the effect is equivalent
13300 to viewing the source directly over the folded path:
13400 specular spec refl * (obj dist)↑2
13500 _______ = _______________________
13600 matte matte refl * (aperture)↑2
13700
13800 which might typically be of order 10↑4. Since the specular content
13900 is more or less distinct from the other dynamic range contributions,
14000 we need only crude information on intensities very far from the mean.
14100 The human visual system provides this information by an S-shaped
14200 response curve about the adaptation level. Differential response
14300 is greatest for intensities near the adaptation levle.
14400 A device soon to be commercially available (Plumbicon with
14500 anti-comet tail gun) has that response curve at high intensities.
14600 Intrinsic dynamic range of this device should be about 400/1, and
14700 we might adopt 100/1 as an intermediate goal.
14800 When we define dynamic range, we should specify the
14900 signal/noise ratio we want, over the whole dynamic range.
15000 As mentioned above, this might be compromised at the extremes.
15100 To discriminate other than black and white, we would want
15200 about 16/1 signal/noise over the whole dynamic range. This could
15300 define an EFFECTIVE SIGNAL/NOISE.
15400 Note: the new vidicon(1971) has a special feature
15500 which sllows us to have large dynamic range within a scene.
15600 The blanking has been moved to the grid as a special option
15700 which allows us to modulate cathode voltage essentially
15800 point by point over the image, to allow LOCAL ADAPTATION of the
15900 vidicon.
16000 SIGNAL TO NOISE
16100
00005 SAIL
00200 0 HAND/EYE MONITOR SHOULD HAVE ACCESS TO WHICH PREAMBLE
00250 WAS USED IN COMPILING EACH MODULE, AND SHOULD
00275 WARN OF INCOMPATIBILITY.
00300 1 ORDERED LISTS (ITEMS OR SUBLISTS)
00400 2 ASSOCIATIONS ABLE TO BE ITEMS,
00500 RETRIEVAL OF UNIQUE ASSOCIATIONS
00600 3 ALL THREE LEAP PAGES
00700 4 UNTYPED ITEMVARS
00800 5 MIXED MODE ARITHMETIC, ARRAYS AND VARIABLES
00900 ALLOWED TO HAVE FIXED AND FLOATING MODES
01000 6 CONDITIONAL ASSEMBLY
01100 7 INTERPRETER
01200 8 PRETTY PRINT --- EXISTS
01300 9 DUMPS OF RUNNING PROGRAM
01400 10 OPTIMIZE A[I,J]←A[I,J]+1
01500 11 OVERLAYS
01550 12 DOUBLE PRECISION
01555 13 CHANGE FORM OF LEAP CALLS TO MAKE DEBUGGING POSSIBLE
01560
01600
01700 FELDMAN FAVORS THESE CHANGES
01800 CO-ROUTINES
01900 PATTERN PROCEDURES (PLANNER-LIKE)
02000 GLOBAL CONTEXTS
02100 DYNAMIC TYPE CHECKING
02200
02300 KAY FAVORS THESE ADDITIONAL CHANGES
02400 DEFINED DATA TYPES DCS SAYS ASSOCIATE FUNCTIONS WITH ITEMS
02450 VARIABLE NUMBER OF ARGS (REQUIRES ABILITY TO UNWIND STACK)
02475 SENSITIZE VARIABLES (AT COMPILE TIME, OR WITH ADDRESS REGISTER,
02487 OR WITH FLAG BITS)
02500 PASSING CONTEXT
02505
02510
02600 RUSS TAYLOR PLANS TO BEGIN IN AUGUST WITH
02700 INTERRUPTS
02750 ANDY SUGGESTS USING PL1 ON STATEMENT AS FORMAT
02775 JACK CAUTIONS ABOUT DEFERRING INTERRUPTS IN SENSITIVE
02780 PLACES LIKE CORE OPERATIONS AND OTHER SYSTEM TIGHT PLACES.
02785 ALSO ABILITY TO PUSH 40 AND 41 AND RESTORE THEM.
02790 WOULD LIKE FULL POWER OF SAIL AT TOP LEVEL TO USE
02795 AT LOWER LEVEL.
02800 UNWINDING STACK (F REGISTER)
02900
03000
03005 SWINEHART HAS THESE ADDITIONAL SUGGESTIONS
03010 BETTER MACROS AND STRING CONSTANTS
03015 VARIABLE NUMBER ARGS IN MACROS AND PROCEDURS
03020 DATUM OF ITEM CAN'T BE STRING
03025 MESSAGE PROCEDURES CAN'T GET VALUES BACK
03030 REFINEMENT TO MACHINE LANGUAGE
03100
03200
03300
03400 MY PRIORITIES FAVOR THOSE CHANGES WHICH IMPROVE
03500 THE FACILITY FOR INTERACTION AND DEBUGGING. SAIL DOES
03600 LITTLE TO USE THE ADVANTAGES OF TIME-SHARING; IT HAS NOT
03700 GONE FAR FROM TRADITIONAL LANGUAGES IN DEBUGGING FACILITIES.
03800 AN INTERPRETER AND THE ABILITY TO MAKE DUMPS AND RESUME
03900 DURING EXECUTION (I/O PERMITTING) ARE FIRST STEPS.
04000
04100
04200 BAD FEATURES OF SAIL WHICH CAN BE CHANGED WITHOUT SIGNIFICANT
04300 STRUCTURAL CHANGES
04400 IMPROVED ERROR MESSAGES
04500 COMPLETE COMPILATION IN SPITE OF ERRORS *****
04600 COMPILER SIZE AND SPEED
04700
04800 TENENBAUM SUGGESTS
04900 CHECK POINTS IN COMPILATION TO BACK UP
05000 (EVEN USER DESIGNATED)
05005 MAKE A*⊗B={SET}
05010 WAY OF INFORMING TRANSITIVE, REFLEXIVE RELATIONS(TRAMP, UNIV OF MICH)
05015 KNOWN BUGS
05020 S←(A⊗B)∪(C⊗D)
05120
05220 WHAT TASKS WOULD WE LIKE TO DO IN SAIL THAT ARE DIFFICULT
05320 REGION FOLLOWING: USING TOB SUCCESSOR, PREDECESSOR SCHEME
05420 WITH LISTS, REGION FOLLOWING IS A 1 PAGE LISP OR FAIL
05520 PROGRAM. MOST CONVENIENT EXPRESSION IS IN TERMS OF
05620 HASHED RELATIONS
05720 SUCCESSOR OF LINE A AT VERTEX B IS LINE C
05820 PREDECESSOR OF LINE A AT VERTEX B IS LINE D
05920
06020 THIS CAN BE DONE WITH FAIR EFFICIENCY NOW USING
06120 L1*V1=L2 FOR SUCCESSOR
06220
00100 The following hardware plans require technician help:
00200 instrument new TV camera
00300 debug TV digitizer
00350 modify target voltage A/D to read actual voltage
00400 build new log difference digitizer (Fairbairn)
00500 done? debug multiplexer and A/D for arm
00600 touch sensors
00700 update kluge bay drawings
00800 current controller for arms
00900 build Quam arithmetic unit
01000 underflow mod to PDP-10
01100 new arm safety device
01200 second arm
01250 movie making
01255 new hand and wrist with incremental motion
01260 and independent fingers
01265 new 5 finger hand
01300 Estimate time required for these things:
01400 instrument TV 3weeks
01500 debug TV digitizer 1 week
01600 log difference digitizer 6 weeks
01700 debug multiplexer and A/D 2 weeks
01800 touch sensors 4 weeks
01900 update kluge bay drawings
02000 current controller for arm 4 weeks
02100 Quam arithmetic unit 16 weeks
02200 underflow mod
02300 new arm safety device 2 days
02400 second arm 12 weeks
00200 We are investigating the color response of the
00300 vidicon in order to compensate for a phenomenon which I call "shrinking
00400 of the color triangle". Basically, if we have a set of coordinates,
00500 R, B,
00600 and G, we make a color triangle from any pair of the normalized coordinates
00700 R/(R+B+
00800 G) and B/(R+B+G) which make the triangle (0,0)
00900 (1,0) and (0,1) which is filled by data points from saturated colors at
01000 low target voltage. At higher target voltage, the same color as seen through
01100 the TV camera shrink toward the center of the color triangle, appearing
01200 much less saturated and difficult to separate.
01300 We have no answer to the apparent loss of saturation, except
01400 to make the observations that vidicons make acceptable color devices
01500 and thus we should be able to work with a vidicon. Also, the monitor
01600 shows large differences when flipping filters, even when target voltages
01700 are high. This also makes us guess that we should be able to get color
01800 readings with adequate separation. The simplest sort of scaling has
01900 already been included, however. Any non-linear effect would be
02000 enough to cause some shrinking (assuming it were in the direction of
02100 reducing high values) as the gamma effect in vidicons does. The
02200 color recognition program does that correction for gamma, using a
02300 nominal value of gamma=.65. It is possible that the gamma correction
02400 requires a drastically different gamma, or that gamma is a sharp
02500 function of target voltage. We are investigating these and other
02600 scaling effects in order to make adequate corrections. If that fails,
02700 we will try a plumbicon, which has adequate spectral response and
02800 also has response independent of target voltage. However, it is
02900 not possible to adapt the sensitivity of the plumbicon, and thus it is
03000 much less versatile than the vidicon, which has adequate adaptability
03100 to handle many outdoor light problems, particularly with local adaptation
03200 as we have attempted to use.
03300
00100 we are in the process of debugging the
00200
00300
00400 TV input chain, and now the A/D for the arm. For the TV digitizer,
00500 Joe Zingheim found that the oscillation of the high-order bit was due
00600 to an inverter which was TTL instead of RTL as the rest of the chain.
00700 Presumably that was because the TTL was much noisier than RTL. There
00800 was replaced with a pair of RTL to balance gate delays.
00900
01000 That showed up another fault of the A/D which gave considerable
01100 low amplitude noise with a period of 9. That implicated the 167
01200 word dumping, and after a little investigation, showed that power supplies
01300 which were shared by the TV digitizer and the 167 were being loaded by
01400 the 167 when it dumped a word, causing considerable noise for the digitizer.
01500 We do not know yet whether there are ground loops which damage the A/D
01600 or whether, as suspected by JMT, there is a natural oscillation built
01700 into this design.
01800 The latter requires some explanation. The claim is that if we take
01900 a power supply and slowly turn the voltage past some value, the switching
02000 of a comparator draws enough current to drop the voltage, turning off that
02100 comparator, thus an oscillation.
02200 We are going ahead with a suggestion of Earnest, that of digitizing
02300 with a log difference encoding.
02400 This would be a difference encoding, except that the steps are
02500 logarithmic.
02600 Thus, it takes many steps to make up a large difference in difference
02700 encoding, while that would take many fewer steps with the log encoding..
02800 Quam has simulated the log difference encoding on 6 bit log images
02900 digitized on iiiIII readers. There is no difference to the eye between
03000 the six bit log data and the four bit log difference data.
00100 Another A/D problem is with the
00200 A/D for the arm pots. Lou Paul has found that
00300 there are 5Mc, 10Mc, and 50Mc noise components that are about
00400 20mv and quuite distressing. A long process of finding ground
00500 loops and power supply isolation problems is ahead.
00100
00200 I value the fast 6 bit arithmetic processor which Quam talks about
00400 as the most important single aid to vision. Presently, we are able to
00500 estimate the time for processing three-color images at about three minutes
00600 for a full TV image. The processor is nearly finished. In time-sharing,
00700 we can count on only a fraction of the processor time, perhaps 10%, which
00800 means that we must count on about 30 minutes per full TV image. We
00900 really want to do stereo, which doubles our estimated time to one hour
01000 per scene. That is really too long to do anything real-time, interactive
01100 or even to get many tries at debugging. We must do something to make
01200 our processing more effective.
01300 iI don't see a great speedup in the techniques for detection,
01400 although we continue to search for one. We can gain a factor of about
01500 10 on the estimated time of one hour for 3 color stereo if we have a
01600 dedicated PDP-6 or PDP-10 to work with.
01700
01800 Super Foonly gives about
01900 the same increase in speed, for which we guess about 6 minutes per
02000 full scene, three color stereo with 10% service in time-sharing.
02100 The proposed Quam box is guessed at about a factor of 50-100 faster
02200 for useful operations of the sort that I do a lot of.
01600 code.
00100 We have been contacted by a group in the Medical School
00200 who are studying non-destructive testing of the heart by use of
00300 ultrasonic echo techniques. Briefly, the transit time for echos
00400 measures the depth of a discontinuity in the medium. The ultrasound
00500 transducers are outside the body, and echoes mark the various walls
00600 of heart chambers.
00700 They are interested in recording the echoes and monitoring
00800 them with a small computer, and then doing reconstruction and
00900 display on a larger computer. They are interested in our facilities
01000 and direction for an off-line interpretation and display of the
01100 heart function.
01200 They are looking for scar tissue and dead areas of the
01300 heart wall, particularly on the interior wall of the left ventricle.
01400 1. Describe the volume inside the left ventrile and display it
01500 (not in real time)
01600 2. Display wall thickness throughout the cardiac cycle
01700 3. Make a velocity display of small areas of the muscle
01800 at various times throughout the cardiac cycle.
01900
02000 We could supervise a student working on this problem
02100 which involves three-dimensional modelling and display.
00100 We should make an accurate evaluation of the hand/eye
00200 monitor to evaluate what it does for us and what needs to be improved.
00300
00400 The primary goal of the system is to enable us to make modules
00500 and run them without combining into one single job and without
00600 providing overlays or swapping in that single job. To get beyond the
00700 the limitations of a single job, we have a system.
00800
00900 Suggestions for improvement of the system are centered around
01000 making debugging possible. These are both user conventions and system
01100 capabilities.
01200 1. repeatibility-stored data
01300 There seem to be two important things here. One is that
01400 users design their programs to be able to use stored data
01500 and that the system be able to use stored data. The other
01600 requirement is that the system allow dumps of images in
01700 the process of execution, and that it be possible to
01800 resume these dumped images (subject to obvious condition
01900 about open i/o files, changed real-time conditions, etc).
02000
02100 2. interaction
02200 SAIL is now a strictly compiled language, and as such
02300 allows no interaction, except through RAID, where the
02400 interface is
00100 We discuss the intended development of touch sensors
00200 for manipulation tasks of the hand/eye system. For our
00300 discussion, consider an artificial skin with force sensors
00400 embedded in a deformable material, in an
00500 array of about 10x10, with sensitivity to light
00600 touch. The issues we will discuss are:
00700 1)specifications
00800 2)feasibility with existing techniques
00900 3)incremental utility; what can we do with a
01000 small amount of additional software along current lines
01100 of effort
01200 4)long range utility; what will we do toward complex tasks
01300 which will be greatly aided by touch sensing.
01400
01500 SPECIFICATIONS
01700 To be able to sense mis-alignments
01800 in assembly without disturbing structures, a sensitivity
01900 at least as good (and hopefully 10 times better) as to
02000 sense a penny on a fingertip --1 gm per sq cm pressure
02100 is a useful target.
02200
02300 we require only crude proportionality and linearity,
02400 and we can tolerate drift (or so it seems now) because
02500 we can compensate for level shifts by modifying
02600 thresholds on a one second basis
02700
02800 We can use the computer to do simple processing on the
02900 direct output from each sensor, so that we can tolerate
03000 considerable variation in response characteristics among
03100 the sensors and their calibration.
03200
03300 The sensors must be intrinsically self-protected
03400 from large loads by some force-limiting mechanism or by an intrinsic
03500 very high maximum force limit. Self-protection is a problem that we
03600 can deal with in only simple terms now, and there are obviously problems
03700 with sharp objects cutting through a soft finger and severing individual
03800 sensors or connections of several sensors. For the moment, we guess
03900 that simple design considerations to protect large nerves, and easy
04000 replacement with low individual cost is a satisfactory solution.
04100
04200 The sensors must be small, nominally smaller than 100 mil
04300 centers. Sensor densities such as this allow good positional location
04400 and description of objects.
04500
04600 To manipulate complex objects, the fingers themselves should
04700 be deformable to provide gripping surfaces in contact. This implies
04800 requirements on the sensors and their location. If the sensors are
04900 anchored on a firm substrate deep under the skin, the intervening
05100 soft material will blurr force location considerably.
05200 That will degrade sensitivity and positional resolution. A reasonable
05205 requirement is that the sensors be on the surface of the skin.
05300 TECHNICAL FEASIBILITY
05400 We have discussed the development of sensors with
05500 Dr. Ken Wise of Dr. Angell's laboratory . Their laboratory
05600 has developed for medical use a small pressure sensor for
05700 catheter implant. This sensor is a 60 mil diameter diaphragm
05800 etched from a silicon wafer, with a bridge of etched
05900 piezoresistive elements to detect strains. The bridge
06000 design gives good stability and sensitivity, partially
06100 compensating for temperature shifts. These integrated circuit
06200 devices are fabricated in their laboratory.
06300 We had originally discussed using a flat array of sensors,
06400 with a somewhat simpler design
06500 than the diaphragms used for pressure sensing. However,
06600 it seems clear that what we really want are deformable fingers
06605 with sensors in the surface, and we must come up with a different
06610 design geometry.
06615 The integrated circuit technique seems to have adequate
06620 sensitivity (.5 mv for 1 gm/sq cm which we feel can be considerably
06625 increased by larger currents. Also we can detect with narrow band
06630 phase sensitive AC detection). The elements are sufficiently small
06635 and we hope replacement costs to be reasonable with integrated
06640 circuit fabrication.
06645 We do not yet have a sensor which would function in the
06650 surface of skin. Perhaps the pressure sensing diaphragms themselves
06655 would be adequate.
06660 We have examined other techniques and find none with promise
06665 of acceptability. These include piezoelectric devices (with ac
06670 detection, these are interesting but difficult technology),
06675 magnetostrictive devices (sensitivity is marginal and cost is high)
06680 and semiconductor strain gauges.
06685 A useful design consideration for any of these techniques
06690 is analog multiplexing, such as developed by Fairchild for their
06695 self-scanning photodiode arrays.
06800 IMMEDIATE UTILITY
06805 In discussing utility, we could take an extreme stand and
06810 say that touch sensors are unnecessary and that we could do a great
06815 deal with just visual feedback, as can be easily demonstrated with
06820 prosthetic devices. Vision has been difficult and we reasonably show
06825 in the following discussion that interesting tasks will require only
06830 simple use of touch sensing. We could as well say that we could do
06835 many of the current tasks without vision. Instead, we want to use
06840 each independent mode of information. In some cases, only one mode
06845 such as touch, will be capable of giving needed information, and
06850 in that sense will be necessary. In the usual case, there will be
06855 redundant information which will be useful for confirmation and
06860 discovering errors.
06865 To consider an immediately useful task, we want to use
06870 touch sensing for centering in grasping. The ability to do so
06875 would lessen our need for absolute visual and arm calibration
06880 and increase reliability and adaptability. The basic operations
06885 are to sense touch on one side, use incremental motion to move
06890 to touch the other side while holding the first side steady.
06892 Incremental motion already
06895 exists on both arms; however, it would be much more useful with
06900 our planned wrist with redundant degrees of freedom.
06905 Locating edges of objects requires existing techniques
06907 for edge finding.
06910 These are reasonably simple if high sensitivity is not needed
06915 and if the pattern on the finger is simple. In general, processing
06920 the pattern on the array of touch sensors raises difficult problems.
06925 The task above required only asking am I touching anything?
06930 This task requires asking is there an obvious edge?
06935 Coordinating these two simple operations, yes/no and edge
06940 detection, with incremental motion allows feeling along a surface
06945 and feeling along an edge. As mentioned above, incremental motion
06947 already
06950 exists. This might be called the one finger paradigm by which we
06955 can tell whether a surface is flat or curved, or an edge is straight
06960 or curved by moving along it.
06965 The same techniques can be used in simple object description
06970 by the two-finger paradigm. For this, we use two fingers to get cross
06975 section thickness along the length of an object. This is very close
06980 to the representation for three-dimensional objects as used by
06985 Binford and Agin, and provides a considerable amount of descriptive
06990 information on shape, with obviously simple and well-defined
06995 manipulations.
07000 The edge detection and incremental motion can be used for
07005 aligning stacks of blocks.
07010 Some simple self-alignment tasks for reliability can be done
07015 with simple touch sensing. We would like very much to sense when we
07020 touch the table, and to refer positions relative to temporarily
07025 stationary objects.
07030
07035
07040 LONG-RANGE UTILITY
07045 We have dealt with simple objects, blocks and wedges;
07050 now we aim for complex objects with curved surfaces. Shape
07052 description by touch is a useful extension of our abilities
07055 which would provide independent criticism of our visual judgment.
07060 We have shown some simple shape description techniques which
07160 would be useful with touch sensing. Now we would like to
07260 mention groping and exploration by touch. At first, it
07360 seems conservative to class simple groping with long-range
07460 developments, but groping requires sensors on the external
07560 parts of the hand and, further, on the arm. An exploration
07660 sequence, such as a spiral motion with diversion around any found
07760 object would be adequate for simple spatial sense and not difficult
07860 to program. It is not clear that such simple procedures by
07960 themselves are adequate, but coupled with vision to be sure
08060 that exploration is done for very simple environments, can be
08160 useful.